home *** CD-ROM | disk | FTP | other *** search
/ The 640 MEG Shareware Studio 2 / The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO / clang / nn.zip / NNTIDY.SH < prev    next >
Text File  |  1989-12-31  |  867b  |  62 lines

  1. # CONFIG file is inserted above during installation
  2.  
  3. # clean out non-existing groups, badly formed lines etc.
  4.  
  5. if [ ! -s ${2-$ACTIVE} ] ; then
  6.     echo "$0: Cannot locate active file ${2-$ACTIVE}"
  7.     exit 3
  8. fi
  9.  
  10. echo Working on your nn record file ... do not run nn until completed
  11.  
  12. cd
  13. cd .nn
  14. rm -f rc.bak1
  15.  
  16. trap 'mv rc.bak1 rc ; echo "No changes" ; exit 0' 1 2 3 13 14 15
  17.  
  18. mv rc rc.bak1
  19.  
  20. {
  21.     cat ${2-$ACTIVE}
  22.     echo EOA
  23.     cat rc.bak1
  24.  
  25. } |
  26. awk '
  27. BEGIN{
  28.     act=1
  29. }
  30. $1 == "EOA" {
  31.     act=0
  32.     next
  33. }
  34. NF==4 {
  35.     if (act) { 
  36.         X[$1] = 1
  37.         L[$1] = $2+0 
  38.         if (L[$1] == 0 || $3+0 == 0) F[$1] = 0; else F[$1] = $3-1
  39.     }
  40.     next
  41. }
  42. $1 ~ /^#/ {
  43.     print $0
  44.     next
  45. }
  46. NF == 3 && ($1 == "!" || $1 == "+" || $1 == "=") {
  47.     if (X[$3] != 1) next
  48.     S[$3] = $1
  49.     if (L[$3] >= $2+0)
  50.         N[$3] = $2+0
  51.     else
  52.         N[$3] = F[$3]
  53.     next
  54. }
  55. END {
  56.     for (g in N) printf("%s %06d %s\n", S[g], N[g], g)
  57. }
  58. ' |
  59. sort +2 > rc
  60.  
  61. exit 0
  62.